The immense growth of the Internet has spawned demand for an ever-increasing array of applications and services, many of which are distributed across systems that reside on different networks. In fact, many companies are increasingly relying on cloud computing resources to host and serve applications and services in order to leverage the flexibility, scalability, and ease of deployment offered by cloud-based technologies. While distributed- and cloud-computing environments offer unparalleled reliability and versatility, the level of service that these environments provide are highly dependent on network traffic conditions.
The dramatic growth of high speed network infrastructure has led companies to reconsider how it manages user software and hardware resources. In order to more efficiently manage end-user hardware and software costs, companies are hosting application resources via “virtual” sessions on a remote, cloud-based server. During these virtual sessions, a user logs in to a remote application server, which creates an instance of a “virtual” computer corresponding to the user. During the virtual session, the user is able to interact with the application as if it was a local application on the user's computer. When the virtual session ends, the “virtual” computer on the remote server is closed (and may be stored), and any processing resources and any software license limitations associated with the virtual session can be reallocated to other virtual sessions associated with other users.
Providing a distributed environment that is capable of remotely hosting applications and services on an ad-hoc basis has several advantages. First, because most, if not all, of the processing requirements of the application are satisfied by the host server, the user device can be relatively inexpensive, reducing costs associated with end-user hardware. In addition, because the applications are hosted at a relatively limned number of application servers, critical updates o the software can be more easily deployed than would be required if each individual user required a local application license. Furthermore, by providing a centralized infrastructure for remote access and storage of applications and services, users can access the critical applications needed to be productive from virtually any location (e.g., home, office, hotel, vacation, etc.) and using almost any device (e.g., company-issued laptop, personal tablet device, home computer, etc.).
Some applications have been developed for providing virtual desktop infrastructure and services, such as those described above. These applications are generally configured to support a relatively large number of users at any given time, and are adapted to manage the processing and communication resources necessary to ensure seamless performance for any number of users on the network. Importantly, however, the ability of these virtualization applications to effectively manage remote user access is highly dependent upon the performance and capacity of the underlying network infrastructure on which they are deployed. In order to predict how such virtualization applications will perform as a function of the number of users and existing network infrastructure, performance tests are typically required before such desktop virtualization solutions can be deployed.
Conventional testing techniques involve creating a network of end-users and servers that matches the size and scale of the desktop virtualization program that is to be deployed. This requires significant investment in hardware and software that are dedicated to the limited purpose of testing the network. Another approach involves using specialty simulation software that aims to emulate the expected network traffic and measure the resulting network performance. However, software simulation tools alone ted to inadequately emulate network behavior and can be unreliable at simulating real network traffic behavior.
The presently disclosed systems and methods for testing WAAS performance for virtual desktop applications are directed to overcoming one or more of the problems set forth above and/or other problems in the art,